home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume90 / kernel / xoper_22 / part02 < prev    next >
Encoding:
Internet Message Format  |  1990-02-01  |  43.1 KB

  1. Path: xanth!cs.odu.edu!Amiga-Request
  2. From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
  3. Newsgroups: comp.sources.amiga
  4. Subject: v90i037: Xoper 2.2 - display and control system activity, Part02/04
  5. Message-ID: <11199@xanth.cs.odu.edu>
  6. Date: 1 Feb 90 03:33:10 GMT
  7. Sender: tadguy@cs.odu.edu
  8. Reply-To: Werner Guenther <G35%DHDURZ1.BITNET@CUNYVM.CUNY.EDU>
  9. Lines: 1619
  10. Approved: tadguy@cs.odu.edu (Tad Guy)
  11. X-Mail-Submissions-To: Amiga@cs.odu.edu
  12.  
  13. Submitted-by: Werner Guenther <G35%DHDURZ1.BITNET@CUNYVM.CUNY.EDU>
  14. Posting-number: Volume 90, Issue 037
  15. Archive-name: kernel/xoper-2.2/part02
  16.  
  17. #!/bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 2 (of 4)."
  24. # Contents:  Xoper.a.ac
  25. # Wrapped by tadguy@xanth on Wed Jan 31 22:31:32 1990
  26. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  27. if test -f 'Xoper.a.ac' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'Xoper.a.ac'\"
  29. else
  30. echo shar: Extracting \"'Xoper.a.ac'\" \(40356 characters\)
  31. sed "s/^X//" >'Xoper.a.ac' <<'END_OF_FILE'
  32. X        beq     got_enter
  33. X
  34. X        cmp.b   #27,0(a2,d3)        ;esc
  35. X        bne     799$
  36. X        tst.w   getanswer
  37. X        bne     100$
  38. X        clr.b   insmode
  39. X        clr.w   ibufferlen
  40. X        move.w  #200,curpos
  41. X        bsr     UpdateIArea
  42. X        clr.w   curpos
  43. X        tst.w   bottomin
  44. X        bne.s   700$
  45. X        move.w  #1,bottomin
  46. X        bsr     getcurpos
  47. X        cmp.b   #5,timerstate
  48. X        bne.s   765$
  49. X        bsr     starttimer
  50. X765$        bra     100$
  51. X
  52. X700$        move.b  timerio+8,timerstate
  53. X        bsr     stoptimer
  54. X        move.w  edline(PC),d0
  55. X        move.l  firstline(PC),d4
  56. X        cmp.w   d4,d0
  57. X        bmi.s   701$
  58. X        move.w  d4,d5
  59. X        add.w   rows(PC),d5
  60. X        cmp.w   d5,d0
  61. X        bmi.s   702$
  62. X701$        move.w  rows(PC),d0
  63. X        lsr.w   #1,d0
  64. X        add.w   d4,d0
  65. X702$        move.l  numlines(PC),d3
  66. X        subq    #1,d3
  67. X        cmp.w   d3,d0
  68. X        ble.s   703$
  69. X        move.w  d3,d0
  70. X703$        move.w  d0,edline
  71. X        sub.w   d4,d0
  72. X        lsl.w   #3,d0
  73. X        add.w   #18,d0
  74. X        move.w  d0,cposy
  75. X        clr.w   bottomin
  76. X        tst.w   loffset
  77. X        beq.s   704$
  78. X        clr.w   loffset
  79. X        bsr     blastout
  80. X704$        bra     100$
  81. X
  82. X799$        cmp.b   #8,0(a2,d3)         ;Backspace
  83. X        bne.s   114$
  84. X        tst.w   d4
  85. X        beq     102$
  86. X        bsr     delchar
  87. X        subq    #1,d4
  88. X        move.w  d4,curpos
  89. X        bra     102$
  90. X
  91. X114$        cmp.b   #127,0(a2,d3)       ;del
  92. X        bne.s   150$
  93. X178$        cmp.w   ibufferlen(PC),d4
  94. X        bge     102$
  95. X        addq    #1,d4
  96. X        bsr     delchar
  97. X        bra     102$
  98. X
  99. X150$        cmp.b   #9,0(a2,d3)         ;tab
  100. X        bne     197$
  101. X        move.w  cmdcompflag(PC),d0
  102. X        bpl.s   151$
  103. X        move.w  curpos(PC),cmdcomplen
  104. X151$        move.w  #1,cmdcompflag
  105. X155$        move.w  cmdcompnr(PC),d0
  106. X        bsr     getcmdptr
  107. X        move.l  d0,a0
  108. X        move.w  cmdcomplen(PC),d4
  109. X        lea     inputbuffer,a1
  110. X        subq    #1,d4
  111. X152$        tst.b   0(a0)
  112. X        beq.s   153$
  113. X        cmp.b   (a0)+,(a1)+
  114. X        bne.s   153$
  115. X        dbf     d4,152$
  116. X        move.l  d0,a1
  117. X        lea     inputbuffer,a0
  118. X154$        move.b  (a1)+,(a0)+
  119. X        dbeq.s  d4,154$
  120. X        neg.w   d4
  121. X        subq    #1,d4
  122. X        move.w  d4,curpos
  123. X        move.w  d4,ibufferlen
  124. X        add.w   #1,cmdcompnr
  125. X        cmp.w   #cmdnum,cmdcompnr
  126. X        beq.s   156$
  127. X        bra     100$
  128. X153$        move.w  cmdcompnr(PC),d0
  129. X        addq    #1,d0
  130. X        move.w  d0,cmdcompnr
  131. X        cmp.w   #cmdnum,d0
  132. X        bmi.s   155$
  133. X156$        clr.w   cmdcompnr
  134. X        bra     100$
  135. X
  136. X197$        cmp.b   #3,0(a2,d3)         ;ctrl c
  137. X        bne.s   104$
  138. X        move.b  #1,cbreak
  139. X
  140. X104$        tst.b   addlines
  141. X        bne     processnxtmsg
  142. X        cmp.b   #$18,0(a2,d3)       ;ctrl x
  143. X        bne.s   300$
  144. X        clr.w   ibufferlen
  145. X        clr.w   curpos
  146. X        bra     100$
  147. X
  148. X300$        cmp.b   #$19,0(a2,d3)       ;ctrl y
  149. X        bne.s   106$
  150. X        move.w  curpos,ibufferlen
  151. X        bra     100$
  152. X
  153. X106$        move.w  #$100,d5        ;NumPad
  154. X        and.w   qualifier(PC),d5
  155. X        beq     105$
  156. X        move.l  firstline(PC),d5
  157. X
  158. X        cmp.b   #'7',0(a2,d3)       ;'Home'
  159. X        bne.s   200$
  160. X        moveq   #0,d5
  161. X199$        move.l  d5,firstline
  162. X        bsr     blastout
  163. X        tst.w   bottomin
  164. X        bne.s   196$
  165. X        move.w  edline(PC),d0
  166. X        move.l  firstline(PC),d1
  167. X        cmp.w   d1,d0
  168. X        bmi.s   190$
  169. X        add.w   rows(PC),d1
  170. X        cmp.w   d1,d0
  171. X        bmi.s   192$
  172. X190$        clr.w   curpos
  173. X        clr.w   ibufferlen
  174. X        move.w  rows(PC),d0
  175. X        lsr.w   #1,d0
  176. X        ext.l   d0
  177. X        add.l   firstline(PC),d0
  178. X        cmp.l   numlines(PC),d0
  179. X        bmi.s   191$
  180. X        move.l  numlines(PC),d0
  181. X        subq    #1,d0
  182. X191$        move.w  d0,edline
  183. X192$        bsr     getcurpos
  184. X        bsr     UpdateIArea
  185. X196$        bra     100$
  186. X
  187. X200$        cmp.b   #'8',0(a2,d3)       ;'up arrow'
  188. X        bne.s   201$
  189. X        tst     d5
  190. X        beq     100$
  191. X        subq    #1,d5
  192. X        bra.s   199$
  193. X
  194. X201$        cmp.b   #'9',0(a2,d3)       ;'PgUp'
  195. X        bne.s   203$
  196. X        sub.w   rows(PC),d5
  197. X        bpl.s   199$
  198. X        moveq   #0,d5
  199. X        bra.s   199$
  200. X
  201. X203$        cmp.b   #'1',0(a2,d3)       ;'End'
  202. X        bne.s   205$
  203. X222$        move.l  numlines(PC),d5
  204. X        sub.w   rows(PC),d5
  205. X        bpl     199$
  206. X        moveq   #0,d5
  207. X204$        bra     199$
  208. X
  209. X205$        cmp.b   #'2',0(a2,d3)       ;'down arrow'
  210. X        bne.s   206$
  211. X        move.l  d5,d2
  212. X        add.w   rows(PC),d2
  213. X        cmp.l   numlines(PC),d2
  214. X        bge     100$
  215. X        addq    #1,d5
  216. X        bra     199$
  217. X
  218. X206$        cmp.b   #'3',0(a2,d3)       ;'PgDn'
  219. X        bne.s   500$
  220. X        add.w   rows(PC),d5
  221. X        move.l  d5,d2
  222. X        add.w   rows(PC),d2
  223. X        cmp.l   numlines(PC),d2
  224. X        bge.s   222$
  225. X        bra     199$
  226. X
  227. X500$        cmp.b   #'4',0(a2,d3)       ;left arrow
  228. X        bne.s   501$
  229. X        tst.w   bottomin
  230. X        beq     102$
  231. X        move.w  loffset(PC),d2
  232. X        sub.w   colms(PC),d2
  233. X        bpl.s   502$
  234. X        moveq   #0,d2
  235. X502$        move.w  d2,loffset
  236. X        bsr     blastout
  237. X        bra     100$
  238. X
  239. X501$        cmp.b   #'6',0(a2,d3)       ;right arrow
  240. X        bne.s   170$
  241. X        tst.w   bottomin
  242. X        beq     102$
  243. X        move.w  loffset(PC),d2
  244. X        add.w   colms(PC),d2
  245. X        bra.s   502$
  246. X
  247. X170$        cmp.b   #'0',0(a2,d3)       ;Ins
  248. X        bne.s   177$
  249. X        eor.b   #1,insmode
  250. X        bra.s   102$
  251. X
  252. X177$        cmp.b   #'.',0(a2,d3)       ;Del
  253. X        beq     178$
  254. X
  255. X105$        tst.w   bottomin
  256. X        bne.s   777$
  257. X        tst.w   curpos
  258. X        bne.s   777$
  259. X        movem.l d0-d1,-(a7)
  260. X        move.w  edline(PC),d0
  261. X        bsr     findline
  262. X        movem.l (a7)+,d0-d1
  263. X        tst.l   8(a5)
  264. X        beq     intuiend
  265. X777$        move.w  curpos(PC),d5
  266. X        ext.l   d5
  267. X        moveq   #79,d2
  268. X        cmp.w   d2,d5
  269. X        bge     102$
  270. X        tst.b   insmode
  271. X        beq.s   172$
  272. X        cmp.w   ibufferlen(PC),d5
  273. X        bmi.s   171$
  274. X        bra.s   173$
  275. X172$        sub     d5,d2
  276. X        lea     80(a1),a4
  277. X        lea     79(a1),a3
  278. X103$        move.b  -(a3),-(a4)
  279. X        dbf     d2,103$
  280. X173$        addq.w  #1,ibufferlen
  281. X171$        move.b  0(a2,d3),0(a1,d5)
  282. X        addq.w  #1,curpos
  283. X102$        subq    #1,d0
  284. X        addq    #1,d3
  285. X        bra     101$
  286. X
  287. X100$        bsr     UpdateIArea
  288. X        bra     intuiend
  289. X
  290. Xgot_enter   bsr     puthist
  291. Xgot_fkey    bsr     stoptimer
  292. X        clr.b   insmode
  293. X        lea     dummy,a1
  294. X        lea     inputbuffer,a2
  295. X        move.w  ibufferlen(PC),d2
  296. X        beq.s   2$
  297. X        tst.w   bottomin
  298. X        bne.s   5$
  299. X        movem.l a1-a2,-(a7)
  300. X        move.w  edline(PC),d0
  301. X        bsr     findline
  302. X        move.l  8(a5),d0
  303. X        bsr     gthex
  304. X        lea     hexarea(PC),a0
  305. X        lea     0(a2,d2),a1
  306. X        move.b  #' ',(a1)+
  307. X        move.b  #'$',(a1)+
  308. X        moveq   #8,d0
  309. X        CALL    CopyMem,_SysBase(PC)
  310. X        move.w  ibufferlen(PC),d2
  311. X        add.w   #10,d2
  312. X        move.w  d2,ibufferlen
  313. X        movem.l (a7)+,a1-a2
  314. X5$        subq    #1,d2
  315. X1$        move.b  (a2)+,(a1)+
  316. X        dbf     d2,1$
  317. X2$        move.b  #10,(a1)+
  318. X        move.w  ibufferlen(PC),d0
  319. X        ext.l   d0
  320. X        addq    #1,d0
  321. X        move.l  d0,-(a7)
  322. X        clr.w   ibufferlen
  323. X        tst.w   bottomin
  324. X        bne.s   4$
  325. X        move.w  #100,curpos
  326. X        bsr     UpdateIArea
  327. X4$        clr.w   curpos
  328. X        move.w  #1,bottomin
  329. X        bsr     getcurpos
  330. X        bsr     UpdateIArea
  331. X        move.l  (a7)+,d0
  332. X        move.w  d0,repeatlen
  333. X        clr.w   repeat
  334. X        clr.b   printed
  335. X        tst.w   getanswer
  336. X        beq.s   6$
  337. X        rts
  338. X6$        bsr     cli
  339. X        tst.b   printed
  340. X        bne.s   3$
  341. X        bsr     starttimer
  342. X3$        bra     intuiend
  343. X
  344. Xnotarawkey
  345. X
  346. Xintuiend    bsr.s   replyintui
  347. X        bra     nextimsg
  348. Xprocessnxtmsg
  349. X        tst.b   addlines
  350. X        beq.s   1$
  351. X        rts
  352. X1$        bra     processmsgs
  353. X
  354. Xreplyintui  move.l  intuimsg(PC),d0
  355. X        beq.s   1$
  356. X        move.l  d0,a1
  357. X        CALL    ReplyMsg,_SysBase
  358. X1$        clr.l   intuimsg
  359. X        rts
  360. X
  361. X;put an input line into the history buffer
  362. Xputhist     move.w  ibufferlen(PC),d5
  363. X        move.l  d5,d0
  364. X        cmp.w   minnumchars(PC),d0
  365. X        bcs     1$
  366. X
  367. X        move.l  gothline(PC),d1
  368. X        beq.s   5$
  369. X        move.l  d1,a2
  370. X        cmp.w   8(a2),d5
  371. X        bne.s   5$
  372. X        lea     10(a2),a2
  373. X        lea     inputbuffer,a1
  374. X        subq    #1,d0
  375. X6$        cmp.b   (a2)+,(a1)+
  376. X        bne.s   5$
  377. X        dbf     d0,6$
  378. X        move.l  gothline,curhist
  379. X        bra.s   1$
  380. X
  381. X5$        move.w  d5,d0
  382. X        ext.l   d0
  383. X        add     #10,d0
  384. X        move.l  #$10000,d1         ;MEMF_CLEAR
  385. X        CALL    AllocMem,_SysBase(PC)
  386. X        tst.l   d0
  387. X        beq.s   1$
  388. X        move.l  d0,a0
  389. X        move.w  d5,8(a0)
  390. X        lea     10(a0),a2
  391. X        subq    #1,d5
  392. X        lea     inputbuffer,a1
  393. X2$        move.b  (a1)+,(a2)+
  394. X        dbf     d5,2$
  395. X        move.w  hnum(PC),d5
  396. X        cmp.w   maxhlines(PC),d5
  397. X        bmi.s   3$
  398. X        bsr     remhistline
  399. X        bra.s   4$
  400. X3$        addq    #1,d5
  401. X        move.w  d5,hnum
  402. X4$        move.l  d0,a1
  403. X        move.l  d0,curhist
  404. X        lea     history(PC),a0
  405. X        CALL    AddTail,_SysBase(PC)
  406. X1$        clr.l   gothline
  407. X        rts
  408. X
  409. X;copy a history line into the input buffer
  410. Xcopyhistory lea     inputbuffer,a0
  411. X        move.w  8(a1),d3
  412. X        ext.l   d3
  413. X        move.w  d3,curpos
  414. X        move.w  d3,ibufferlen
  415. X        subq    #1,d3
  416. X        lea     10(a1),a1
  417. X1$        move.b  (a1)+,(a0)+
  418. X        dbf     d3,1$
  419. X        rts
  420. X;remove one line from the history buffer
  421. X;pointer to the line in A1, returns pointer to the next line in d1
  422. Xremhistline move.l  d0,-(a7)
  423. X        lea     history(PC),a0
  424. X        move.l  0(a0),a5
  425. X        tst.l   0(a5)
  426. X        beq.s   1$
  427. X        CALL    RemHead,_SysBase(PC)
  428. X        move.l  a5,a1
  429. X        move.w  8(a1),d0
  430. X        add     #10,d0
  431. X        ext.l   d0
  432. X        CALL    FreeMem,_SysBase(PC)
  433. X1$        move.l  (a7)+,d0
  434. X        rts
  435. X
  436. X;kill all history lines
  437. Xkillhistory bsr     remhistline
  438. X        move.l  history(PC),a0
  439. X        tst.l   0(a0)
  440. X        bne.s   killhistory
  441. X2$        clr.w   hnum
  442. X        clr.l   curhist
  443. X        rts
  444. X;delete one char from the input line
  445. Xdelchar     lea     inputbuffer,a3
  446. X        lea     0(a3,d4.w),a3
  447. X        lea     -1(a3),a4
  448. X        move    d4,d5
  449. X1$        cmp.w   #78,d5
  450. X        bge.s   2$
  451. X        move.b  (a3)+,(a4)+
  452. X        addq    #1,d5
  453. X        bra.s   1$
  454. X2$        subq.w  #1,ibufferlen
  455. X        rts
  456. X
  457. Xtestsig     move.l  tasksigs(PC),d0
  458. X        btst    d1,d0
  459. X        rts
  460. X
  461. X;get the position of the input area
  462. Xiareapos    move.l  wnptr(PC),a0
  463. X        move.w  10(a0),d0
  464. X        subq    #4,d0
  465. X        move.w  d0,ipos
  466. X        rts
  467. X
  468. X;Update the current position of the input line
  469. Xgetcurpos   tst.w   bottomin
  470. X        beq.s   1$
  471. X        move.w  ipos,cposy
  472. X        rts
  473. X1$        move.w  edline(PC),d3
  474. X        sub.l   firstline(PC),d3
  475. X        lsl     #3,d3
  476. X        add.w   #18,d3
  477. X        move.w  d3,cposy
  478. X        rts
  479. X;refresh the input area
  480. XUpdateIArea move.l  rastport(PC),a1
  481. X        move.l  #1,d0
  482. X        CALL    SetDrMd,gfxbase(PC)
  483. X        moveq   #6,d0
  484. X        move.w  cposy(PC),d1
  485. X        move.l  rastport(PC),a1
  486. X        CALL    Move,gfxbase(PC)
  487. X        lea     inputbuffer,a0
  488. X        move.w  ibufferlen(PC),d0
  489. X        ext.l   d0
  490. X        move.w  colms(PC),d1
  491. X        sub.w   bottomin(PC),d1
  492. X        cmp.w   d1,d0
  493. X        bmi.s   1$
  494. X        move.w  d1,d0
  495. X1$        move.w  d0,d2
  496. X        move.l  rastport(PC),a1
  497. X        CALL    Text,gfxbase(PC)
  498. X
  499. X        tst.w   bottomin
  500. X        bne.s   3$
  501. X        move.w  edline(PC),d0
  502. X        bsr     findline
  503. X        move.w  12(a5),d3
  504. X        sub.w   d2,d3
  505. X        bmi.s   3$
  506. X        move.w  colms(PC),d1
  507. X        sub.w   d2,d1
  508. X        bmi.s   2$
  509. X        cmp.w   d1,d3
  510. X        ble.s   4$
  511. X        move.w  d1,d3
  512. X4$        move.w  d3,d0
  513. X        lea     14(a5,d2.w),a0
  514. X        move.l  rastport(PC),a1
  515. X        CALL    Text,gfxbase(PC)
  516. X        add.w   ibufferlen(PC),d3
  517. X        move.w  d3,d2
  518. X
  519. X3$        move.w  colms(PC),d0
  520. X        sub.w   bottomin(PC),d0
  521. X        move.l  blanks(PC),a0
  522. X        ext.l   d0
  523. X        sub.w   d2,d0
  524. X        bmi.s   2$
  525. X        lea     0(a0,d2.w),a0
  526. X        move.l  rastport(PC),a1
  527. X        CALL    Text,gfxbase(PC)
  528. X2$        bsr     putcursor
  529. X        rts
  530. X
  531. Xclrcursor   moveq   #1,d7
  532. X        bra.s   ptc1
  533. Xputcursor   moveq   #6,d7
  534. Xptc1        move.w  curpos(PC),d0
  535. X        move.w  colms(PC),d1
  536. X        subq    #1,d1
  537. X        sub.w   bottomin(PC),d1
  538. X        cmp.w   d0,d1
  539. X        bmi.s   1$
  540. X        move.l  rastport(PC),a1
  541. X        move.l  d7,d0
  542. X        CALL    SetDrMd,gfxbase(PC)
  543. X        move.w  cposy(PC),d1
  544. X        move.w  curpos(PC),d0
  545. X        lsl.w   #3,d0
  546. X        addq    #6,d0
  547. X        move.l  rastport(PC),a1
  548. X        CALL    Move,gfxbase(PC)
  549. X        lea     oneblank(PC),a0
  550. X        moveq   #1,d0
  551. X        move.l  rastport(PC),a1
  552. X        CALL    Text,gfxbase(PC)
  553. X1$        rts
  554. X;rebuild the window from scratch
  555. Xsetupscreen move.l  rastport(PC),a1
  556. X        moveq   #0,d0
  557. X        CALL    SetRast,gfxbase(PC)
  558. X        move.l  wnptr,a0
  559. X        CALL    RefreshWindowFrame,intuibase(PC)
  560. X        bsr     getwindowsize
  561. X        tst.w   bottomin
  562. X        bne.s   1$
  563. X        move.w  edline(PC),d0
  564. X        move.l  firstline(PC),d1
  565. X        move.w  rows(PC),d2
  566. X        move.w  d2,d4
  567. X        move.w  numlines(PC),d3
  568. X        add.w   d1,d2
  569. X        cmp.w   d2,d0
  570. X        bmi.s   2$
  571. X        lsr.w   #1,d4
  572. X        sub.w   d4,d0
  573. X        ext.l   d0
  574. X        move.l  d0,firstline
  575. X2$        bsr     tstfirstlin
  576. X1$        bsr     getcurpos
  577. X        bsr     putiline
  578. X        bsr     blastout
  579. X        bsr     UpdateIArea
  580. X        move.w  rows,currenty
  581. X        rts
  582. X
  583. Xputiline    move.l  rastport(PC),a1
  584. X        moveq   #1,d0
  585. X        CALL    SetAPen,gfxbase(PC)
  586. X        move.l  rastport(PC),a1
  587. X        moveq   #1,d0
  588. X        CALL    SetDrMd,gfxbase(PC)
  589. X        move.l  wnptr(PC),a5
  590. X        move.w  10(a5),d1
  591. X        sub.w   #12,d1
  592. X        moveq   #0,d0
  593. X        move.l  rastport(PC),a1
  594. X        CALL    Move,gfxbase(PC)
  595. X        move.w  8(a5),d0
  596. X        move.w  d1,-(a7)
  597. X        move.l  rastport(PC),a1
  598. X        CALL    Draw,gfxbase(PC)
  599. X        move.w  (a7)+,d1
  600. X        tst.b   ownscreen
  601. X        bne.s   1$
  602. X        move.w  8(a5),d0
  603. X        addq    #1,d1
  604. X        move.l  rastport(PC),a1
  605. X        CALL    Move,gfxbase(PC)
  606. X        sub.w   #16,d0
  607. X        move.w  d1,-(a7)
  608. X        move.l  rastport(PC),a1
  609. X        CALL    Draw,gfxbase(PC)
  610. X        move.w  (a7)+,d1
  611. X        move.w  8(a5),d0
  612. X        addq    #1,d1
  613. X        move.l  rastport(PC),a1
  614. X        CALL    Move,gfxbase(PC)
  615. X        sub.w   #16,d0
  616. X        move.l  rastport(PC),a1
  617. X        CALL    Draw,gfxbase(PC)
  618. X1$        rts
  619. X
  620. Xgetwindowsize
  621. X        bsr     freeblank
  622. X        move.l  wnptr(PC),a0
  623. X        move.w  10(a0),d0
  624. X        sub.w   #26,d0
  625. X        lsr.w   #3,d0
  626. X        move.w  d0,rows
  627. X        move.w  8(a0),d0
  628. X        sub.w   #12,d0
  629. X        lsr.w   #3,d0
  630. X        move.w  d0,colms
  631. X        ext.l   d0
  632. X        moveq   #0,d1
  633. X        move.l  d0,d6
  634. X        CALL    AllocMem,_SysBase(PC)
  635. X        move.l  d0,blanks
  636. X        move.l  d0,a0
  637. X        subq    #1,d6
  638. X1$        move.b  #' ',(a0)+
  639. X        dbf     d6,1$
  640. X        bsr     iareapos
  641. X        rts
  642. X
  643. Xreadline    move.b  #'n',inputbuffer
  644. X        tst.b   fromfile
  645. X        bne.s   1$
  646. X        move.l  #31000,firstline
  647. X        bsr     blastout
  648. X        move.w  #1,getanswer
  649. X        bsr     replyintui
  650. X5$        bsr     processmsgs
  651. X        move.w  d0,d5
  652. X        bsr     replyintui
  653. X        subq    #1,d5
  654. X        beq.s   5$
  655. X        ori.b   #$20,inputbuffer
  656. X        clr.w   getanswer
  657. X        bsr     RestoreOutput
  658. X1$        rts
  659. X
  660. XResumeOutput
  661. X        move.l  outchain(PC),d0
  662. X        move.l  d0,a1
  663. X        beq.s   2$
  664. X        move.l  numlines,oldnumlines
  665. X        move.l  firstline,oldfirstline
  666. X4$        tst.l   0(a1)
  667. X        beq.s   3$
  668. X        move.l  0(a1),a1
  669. X        bra.s   4$
  670. X3$        move.l  a1,lastprinted
  671. X2$        move.l  a1,oldpageend
  672. X        rts
  673. X
  674. XRestoreOutput
  675. X        move.l  oldpageend(PC),d3
  676. X        beq.s   1$
  677. X        move.l  oldnumlines(PC),numlines
  678. X        move.l  oldfirstline(PC),firstline
  679. X        move.l  oldlastprinted(PC),lastprinted
  680. X        move.l  d3,a1
  681. X        move.l  0(a1),a1
  682. X        bsr     killlines
  683. X        move.l  d3,a1
  684. X        clr.l   0(a1)
  685. X        bsr     blastout
  686. X1$        rts
  687. X
  688. Xaddline     movem.l d0-d6/a0-a3,-(a7)
  689. X        move.l  rastport(PC),a1
  690. X        moveq   #1,d0
  691. X        CALL    SetAPen,gfxbase(PC)
  692. X        move.l  rastport(PC),a1
  693. X        moveq   #1,d0
  694. X        CALL    SetDrMd,gfxbase(PC)
  695. X        move.w  currenty(PC),d6
  696. X        cmp.w   rows(PC),d6
  697. X        bmi.s   1$
  698. X        bsr     cls
  699. X1$        move.l  lastprinted(PC),a0
  700. X        move.w  colms(PC),d5
  701. X        move.w  12(a0),d3
  702. X        lea     14(a0),a0
  703. X        move.w  currenty(PC),d6
  704. X        move    d6,d7
  705. X        lsl     #3,d6
  706. X        add.w   #18,d6
  707. X        moveq   #0,d4
  708. X        bsr     blastline
  709. X        addq.w  #1,currenty
  710. X        move.l  #31000,firstline
  711. X        movem.l (a7)+,d0-d6/a0-a3
  712. X        rts
  713. X
  714. Xcls        movem.l d0-d6/a0-a3,-(a7)
  715. X        move.l  rastport(PC),a1
  716. X        moveq   #1,d0
  717. X        CALL    SetAPen,gfxbase(PC)
  718. X        move.l  rastport(PC),a1
  719. X        moveq   #1,d0
  720. X        move.l  rastport(PC),a1
  721. X        CALL    SetDrMd,gfxbase(PC)
  722. X        move.w  colms(PC),d5
  723. X        clr.w   d2
  724. X1$        move.w  d2,d6
  725. X        move    d5,d7
  726. X        lsl     #3,d6
  727. X        add.w   #18,d6
  728. X        moveq   #0,d3
  729. X        move.l  blanks(PC),a0
  730. X        bsr     blastline
  731. X        addq    #1,d2
  732. X        cmp.w   rows(PC),d2
  733. X        bmi.s   1$
  734. X        clr.w   currenty
  735. X        movem.l (a7)+,d0-d6/a0-a3
  736. X        rts
  737. X
  738. Xcreatescreen moveq  #1,d1
  739. X        moveq   #80,d0
  740. X        lea     buffer,a0
  741. X        sub.l   a1,a1
  742. X        CALL    GetScreenData,intuibase(PC)
  743. X        move.w  buffer+76,nsviewmode
  744. X        move.l  buffer+12,nssize
  745. X        lea     newscreen(PC),a0
  746. X        CALL    OpenScreen,intuibase(PC)
  747. X        move.l  d0,screenptr
  748. X        move.l  d0,nwscreen
  749. X        move.w  #$f,nwtype
  750. X        beq.s   setupwindow
  751. X        tst.l   wnptr
  752. X        beq.s   1$
  753. X        move.l  wnptr(PC),a0
  754. X        move.l  4(a0),window_l
  755. X        move.l  8(a0),window_w
  756. X        CALL    CloseWindow,intuibase(PC)
  757. X        clr.l   intuimsg
  758. X        clr.l   wnptr
  759. X1$        clr.l   newwindow
  760. X        move.l  buffer+12,newwindow+4
  761. X        move.l  wnscrflags(PC),nwflgs
  762. X        move.l  wnscrflags+4(PC),nwflgs+4
  763. X        move.b  #1,ownscreen
  764. X
  765. Xsetupwindow tst.b   ownscreen
  766. X        bne.s   3$
  767. X        move.l  window_l(PC),newwindow
  768. X        move.l  window_w(PC),newwindow+4
  769. X        move.w  #1,nwtype
  770. X        move.l  wnnormflgs(PC),nwflgs
  771. X        move.l  wnnormflgs+4(PC),nwflgs+4
  772. X3$        lea     newwindow(PC),a0
  773. X        CALL    OpenWindow,intuibase(PC)
  774. X        move.l  d0,wnptr
  775. X        beq     exit
  776. X        move.l  d0,a0
  777. X        move.l  50(a0),rastport    ;wn->RPort
  778. X        move.l  86(a0),a1          ;wn->UserPort
  779. X        move.b  15(a1),d1          ;MsgPort->SigBit
  780. X        ext.w   d1
  781. X        move.w  d1,intuisig
  782. X
  783. X        tst.b   iconifyon
  784. X        beq.s   1$
  785. X        tst.b   ownscreen
  786. X        bne.s   1$
  787. X        lea     iconifgad,a1
  788. X        moveq   #0,d0
  789. X        CALL    AddGadget,intuibase(PC)
  790. X        move.l  wnptr(PC),a0
  791. X        CALL    RefreshWindowFrame,intuibase(PC)
  792. X
  793. X1$        lea     tattr(PC),a0
  794. X        CALL    OpenFont,gfxbase(PC)
  795. X        tst.l   d0
  796. X        beq.s   2$
  797. X        move.l  d0,a0
  798. X        move.l  rastport(PC),a1
  799. X        CALL    SetFont,gfxbase(PC)
  800. X2$        bsr     getwindowsize
  801. X        bsr     getcurpos
  802. X
  803. X        bsr     putiline
  804. X        bsr     UpdateIArea
  805. X        bsr     starttimer
  806. X        bsr     showwhat
  807. X        rts
  808. X
  809. Xusescreen   tst.b   fromfile
  810. X        bne.s   1$
  811. X        tst.b   ownscreen
  812. X        bne.s   1$
  813. X        bsr     createscreen
  814. X1$        move.b  #1,ownscreen
  815. X        rts
  816. X
  817. Xusewindow   tst.b   fromfile
  818. X        beq.s   1$
  819. X        clr.b   ownscreen
  820. X        rts
  821. X1$        tst.b   ownscreen
  822. X        beq.s   2$
  823. X        move.l  wnptr(PC),d0
  824. X        beq.s   3$
  825. X        move.l  d0,a0
  826. X        CALL    CloseWindow,intuibase(PC)
  827. X        clr.l   wnptr
  828. X        clr.l   intuimsg
  829. X3$        move.l  screenptr(PC),d0
  830. X        beq.s   4$
  831. X        move.l  d0,a0
  832. X        CALL    CloseScreen,intuibase(PC)
  833. X        clr.l   screenptr
  834. X        clr.b   ownscreen
  835. X4$        bra     setupwindow
  836. X2$        rts
  837. X
  838. Xdchange     lea     dchead(PC),a0
  839. X        bsr     puthead
  840. X        lea     tdd(PC),a1
  841. X        move.l  _SysBase(PC),a0
  842. X        lea     350(a0),a0
  843. X        CALL    FindName,_SysBase(PC)
  844. X        tst.l   d0
  845. X        beq     R_T_S
  846. X        move.l  d0,a2
  847. X        lea     32(a2),a2
  848. X        moveq   #0,d5
  849. X2$        lea     4(a2),a2
  850. X        move.l  0(a2),d0
  851. X        beq     3$
  852. X        move.l  d0,a0
  853. X        lea     $18e(a0),a0
  854. X        CALL    Disable,_SysBase(PC)
  855. X5$        tst.l   0(a0)
  856. X        beq.s   6$
  857. X        move.l  0(a0),a0
  858. X        bra.s   5$
  859. X6$        lea     -4(a0),a5
  860. X        lea     buffer+100,a3
  861. X9$        move.l  0(a5),a5
  862. X        tst.l   0(a5)
  863. X        beq.s   11$
  864. X        move.l  a5,(a3)+
  865. X        bne.s   9$
  866. X11$        clr.l   (a3)+
  867. X        CALL    Enable,_SysBase(PC)
  868. X        lea     buffer+100,a3
  869. X7$        move.l  (a3)+,d0
  870. X        beq.s   3$
  871. X        move.l  d0,a5
  872. X        cmp.w   #20,28(a5)
  873. X        bne.s   7$
  874. X        move.l  40(a5),a4
  875. X        move.l  a4,d0
  876. X        move.l  d0,node
  877. X        bsr     hexan
  878. X        move.l  a4,d0
  879. X        beq.s   10$
  880. X        move.l  14(a4),d0
  881. X        bsr     hexan
  882. X        move.l  18(a4),d0
  883. X        bsr     hexan
  884. X10$        move.l  d5,d3
  885. X        or.b    #48,d3
  886. X        move.b  d3,tddrives+2
  887. X        move.l  #tddrives,d0
  888. X        bsr     putstr
  889. X        move.l  14(a5),d0
  890. X        beq.s   8$
  891. X        move.l  d0,a0
  892. X        move.l  16(a0),d0
  893. X8$        bsr     getaskname2
  894. X        bsr     newline
  895. X        bra.s   7$
  896. X3$        addq    #1,d5
  897. X        cmp.w   #4,d5
  898. X        bmi     2$
  899. XR_T_S        rts
  900. X
  901. X
  902. XDATASTART   EQU     *
  903. X
  904. Xdosbase     dc.l    0
  905. Xintuibase   dc.l    0
  906. Xgfxbase     dc.l    0
  907. Xcondev        dc.l    0
  908. Xparmtxt     dc.l    0
  909. Xinfile        dc.l    0
  910. Xptr        dc.l    0
  911. Xoldidl        dc.l    0
  912. Xolddisp     dc.l    0
  913. Xmysignal    dc.l    0
  914. Xauxsig        dc.l    0
  915. Xtrapsignal  dc.l    0
  916. Xiostatus    dc.l    -1
  917. Xdevstatus   dc.l    -1
  918. Xtasksigs    dc.l    0
  919. Xcancelbit   dc.l    0
  920. Xcancelbnum  dc.l    0
  921. X_SysBase    dc.l    0
  922. XInputMsg    dc.l    0
  923. XInRequest   dc.l    0
  924. Xstartmess   dc.l    0
  925. Xsavedat     dc.l    0
  926. Xwnptr        dc.l    0
  927. Xaliaslist   dc.l    0
  928. Xscreenptr   dc.l    0
  929. Xintuimsg    dc.l    0
  930. Xmytask        dc.l    0
  931. Xwbmsg        dc.l    0
  932. Xpointer     dc.l    0
  933. Xreplyport   dc.l    0
  934. Xtimerport   dc.l    0
  935. Xfinfoptr    dc.l    0
  936. Xmyseg        dc.l    0
  937. Xdispatches  dc.l    0
  938. Xmaxdisp     dc.l    0
  939. Xdeltadisp   dc.l    0
  940. Xwbaddr        dc.l    0
  941. Xnode        dc.l    0
  942. Xremembr     dc.l    0
  943. Xremembr2    dc.l    0
  944. Xcaptask     dc.l    0
  945. Xsnoopport   dc.l    0
  946. Xtasksnum    dc.l    0
  947. Xblanks        dc.l    0
  948. Xhidestart   dc.l    0
  949. Xdispnum     dc.l    0
  950. Xiocount     dc.l    0
  951. Xdummyinput  dc.l    0
  952. Xrastport    dc.l    0
  953. Xoutchain    dc.l    0
  954. Xfirstline   dc.l    0
  955. Xoldfirstline dc.l   0
  956. Xtimeoutm    dc.l    0
  957. Xnumlines    dc.l    0
  958. Xoldnumlines dc.l    0
  959. Xgothline    dc.l    0
  960. Xlastprinted dc.l    0
  961. Xoldlastprinted dc.l 0
  962. Xoldpageend  dc.l    0
  963. Xmaxlines    dc.l    500
  964. Xrealstack   dc.l    0
  965. X
  966. X
  967. Xwnnormflgs  dc.l    $646
  968. X        dc.l    $1104f
  969. X
  970. Xwnscrflags  dc.l    $600
  971. X        dc.l    $31948
  972. X
  973. Xfkeys        dc.l    *+4
  974. X        dc.l    0
  975. X        dc.l    fkeys
  976. X
  977. Xhistory     dc.l    *+4
  978. X        dc.l    0
  979. X        dc.l    history
  980. Xcurhist     dc.l    0
  981. X
  982. Xsecs        dc.l    0
  983. Xmics        dc.l    0
  984. Xtime10        dc.l    0
  985. X
  986. Xtattr        dc.l    fontname
  987. X        dc.w    8
  988. X        dc.w    0
  989. X
  990. Xstplist     dc.l    lh_tail
  991. Xlh_tail     dc.l    0
  992. X        dc.l    stplist
  993. X        dc.b    1
  994. X        dc.b    0
  995. X
  996. XInInterrupt dc.l    0        ;ln_Succ
  997. X        dc.l    0        ;ln_Pred
  998. X        dc.b    2        ;ln_Type
  999. X        dc.b    60        ;ln_Pri
  1000. X        dc.l    xopsleep    ;ln_Name
  1001. X        dc.l    0        ;is_Data
  1002. X        dc.l    Keyhandler    ;is_Code()
  1003. X
  1004. XIOCounter   dc.l    0        ;ln_Succ
  1005. X        dc.l    0        ;ln_Pred
  1006. X        dc.b    2        ;ln_Type
  1007. X        dc.b    -1        ;ln_Pri
  1008. X        dc.l    IOcntname    ;ln_Name
  1009. X        dc.l    0        ;is_Data
  1010. X        dc.l    countio    ;is_Code()
  1011. X
  1012. Xnewwindow   dc.w    0,0
  1013. X        dc.w    500,100
  1014. X        dc.b    0,1
  1015. Xnwflgs        dc.l    $646
  1016. X        dc.l    $1104f
  1017. Xwn_firstgad dc.l    0
  1018. X        dc.l    0
  1019. X        dc.l    windowname
  1020. Xnwscreen    dc.l    0
  1021. X        dc.l    0
  1022. X        dc.w    110,50
  1023. X        dc.w    808,-1
  1024. Xnwtype        dc.w    1
  1025. X
  1026. Xnewscreen   dc.w    0,0
  1027. Xnssize        dc.w    0,0
  1028. X        dc.w    1
  1029. X        dc.b    0
  1030. X        dc.b    1
  1031. Xnsviewmode  dc.w    0
  1032. X        dc.w    $1f
  1033. X        dc.l    0
  1034. X        dc.l    windowname
  1035. X        dc.l    0,0
  1036. X
  1037. Xexcpterror  dc.l    0
  1038. Xexcpttask   dc.l    0
  1039. Xexcptaddr   dc.l    0
  1040. Xexcptpc     dc.l    0
  1041. X
  1042. Xwindow_l    dc.w    0
  1043. Xwindow_t    dc.w    0
  1044. Xwindow_w    dc.w    550
  1045. Xwindow_h    dc.w    200
  1046. X
  1047. Xcolms        dc.w    0
  1048. Xtimersig    dc.w    0
  1049. Xintuisig    dc.w    0
  1050. Xibufferlen  dc.w    0
  1051. Xcposy        dc.w    0
  1052. Xcurpos        dc.w    0
  1053. Xbottomin    dc.w    1
  1054. Xipos        dc.w    0
  1055. Xhnum        dc.w    0
  1056. Xminnumchars dc.w    2
  1057. Xmaxhlines   dc.w    10
  1058. Xqualifier   dc.w    0
  1059. Xrows        dc.w    0
  1060. Xmaxllength  dc.w    0
  1061. Xloffset     dc.w    0
  1062. Xrepeat        dc.w    0
  1063. Xrepeatlen   dc.w    0
  1064. Xedline        dc.w    999
  1065. Xcmdptr        dc.w    0
  1066. Xgetanswer   dc.w    0
  1067. Xcurrenty    dc.w    0
  1068. Xcmdcompnr   dc.w    0
  1069. Xcmdcomplen  dc.w    -1
  1070. Xcmdcompflag dc.w    0
  1071. X
  1072. Xbinarea     dc.b    '          ',0
  1073. X        EVEN
  1074. Xminus        dc.b    '  '
  1075. Xdecimal     dc.b    '    ',0
  1076. Xentries     dc.b    0
  1077. Xtimeout     dc.b    5
  1078. Xprocnum     dc.b    0
  1079. Xtimerstate  dc.b    0
  1080. Xrunning     dc.b    0
  1081. Xnewpri        dc.b    0
  1082. Xtasktyp     dc.b    0
  1083. Xbackground  dc.b    0
  1084. Xbool        dc.b    0
  1085. Xprinted     dc.b    0
  1086. Xcbreak        dc.b    0
  1087. Xusageflag   dc.b    0
  1088. Xmnflag        dc.b    1
  1089. Xtports        dc.b    1
  1090. Xheadon        dc.b    1
  1091. Xhideon        dc.b    1
  1092. Xsorton        dc.b    1
  1093. Xwanttraps   dc.b    0
  1094. Xaddlines    dc.b    0
  1095. Xeof        dc.b    0
  1096. Xfromfile    dc.b    0
  1097. Xiconifyon   dc.b    1
  1098. Xgotguru     dc.b    0
  1099. Xownscreen   dc.b    0
  1100. Xinsmode     dc.b    0
  1101. Xcmdcli        dc.b    1
  1102. Xparams        dc.b    'tfdlrempisc'
  1103. Xparmnum     equ     *-params
  1104. X        dc.b    0
  1105. Xt2header    dc.b    '   ID     STATE   SIGALLOC SIGWAIT  SIGRECVD    PC    TASKNAME',0
  1106. Xtheader     dc.b    '   ID     TYPE      STATE    PRI  CPUSE NUM TASKNAME',0
  1107. Xlheader     dc.b    '  NODE   CNT VER REV  FLAGS    ',0
  1108. Xlibnam        dc.b    'LIBRARY NAME',0
  1109. Xdevnam        dc.b    'DEVICE NAME',0
  1110. Xresnam        dc.b    'RESOURCE NAME',0
  1111. Xmheader     dc.b    ' LOWER   UPPER      FREE ATTR  PRI HUNK NAME',0
  1112. Xcr        dc.b    10,0
  1113. Xiheader     dc.b    '  NODE     DATA     CODE    PRI T S   TYPE     INTERRUPT NAME',0
  1114. Xinheader    dc.b    '  NODE     DATA     CODE    PRI NAME',0
  1115. Xrheader     dc.b    '  ADDR    PRI  FLAGS     VER   TYPE    RESIDENT NAME',0
  1116. Xpheader     dc.b    '  NODE   PORTNAME        FLAGS SIGBT NUM SIGTASK',0
  1117. Xhunkheader  dc.b    ' NUM  BCPL    DATA     LENGTH',0
  1118. Xddheader    dc.b    'DEVICE    HDS SECTORS  TRACKS BUFFERS STATE    HANDLER',0
  1119. Xcdheader    dc.b    'PROCESSNAME    CURRENT DIRECTORY',0
  1120. Xofheader    dc.b    '  LOCK   ACCESS  SIZE   PATH/FILENAME',0
  1121. Xscrheader   dc.b    'NUM   ADDR   TITLE',0
  1122. Xwnheader    dc.b    ' ADDR    OWNERTASK   TITLE',0
  1123. Xfohead        dc.b    '  NODE   CNT  Y   X  TYPE  LO  HI NAME',0
  1124. Xkickhead    dc.b    'START    END      LENGTH',0
  1125. Xsnoophead   dc.b    'ACTION REQUIREMENTS        LENGTH   FROM    TO       CALLER',0
  1126. Xstackhead   dc.b    'SPLower     SIZE    USED TASKNAME',0
  1127. Xclicomhead  dc.b    '   ID    STATE    TYPE  MODE NUM PROCESSNAME      COMMAND',0
  1128. Xtiohead     dc.b    'IORQUEST  UNIT   SECS  REQUESTING TASK',0
  1129. Xdchead        dc.b    '  NODE     DATA     CODE   UNIT TASK',0
  1130. Xalhead        dc.b    'ALIAS NAME        COMMAND',0
  1131. Xtdd        dc.b    'trackdisk.device',0
  1132. Xtddrives    dc.b    'DF : ',0
  1133. Xtimerunits  dc.b    'MicroHz ',0
  1134. X        dc.b    'VBlank  ',0
  1135. Xaccess        dc.b    ' Read  ',0
  1136. X        dc.b    ' Write ',0
  1137. Xromfnt        dc.b    'Rom  ',0
  1138. Xdiskfnt     dc.b    'Disk ',0
  1139. Xwbname        dc.b    'Workbench',0
  1140. Xstatus        dc.b    'Added    ',0
  1141. X        dc.b    'Running  ',0
  1142. X        dc.b    'Ready    ',0
  1143. X        dc.b    'Waiting  ',0
  1144. X        dc.b    'Exeption ',0
  1145. X        dc.b    'Removed  ',0
  1146. X        dc.b    'Frozen   ',0
  1147. X        dc.b    'Frozen   ',0
  1148. Xtype        dc.b    'Unknown   ',0
  1149. Xtasktype    dc.b    'Task      ',0
  1150. X        dc.b    'Interrupt ',0
  1151. X        dc.b    'Device    ',0
  1152. X        dc.b    'Msgport   ',0
  1153. X        dc.b    'Message   ',0
  1154. X        dc.b    'Freemsg   ',0
  1155. X        dc.b    'Replymsg  ',0
  1156. X        dc.b    'Resource  ',0
  1157. X        dc.b    'Library   ',0
  1158. X        dc.b    'Memory    ',0
  1159. Xsoftinttype dc.b    'Softint   ',0
  1160. X        dc.b    'Font      ',0
  1161. Xproctype    dc.b    'Process   ',0
  1162. X        dc.b    'Semaphore ',0
  1163. Xmp_flags    dc.b    'Signal  ',0
  1164. X        dc.b    'Softint ',0
  1165. X        dc.b    'Ignore  ',0
  1166. Xwindowname  dc.b    'Xoper V2.2 (c) 1989 Werner G',$fc,'nther',0
  1167. Xnewname     dc.b    'Xoper',0
  1168. Xmemportname dc.b    'MemSnoop',0
  1169. Xxopcon        dc.b    'XopPackets',0
  1170. Xxopsleep    dc.b    'Xop-A-A-x',0
  1171. XIOcntname   dc.b    'Xop-I/O-counter',0
  1172. X
  1173. Xcmdnum        set      0
  1174. Xcommds        ADDCMD  'time'
  1175. X        ADDCMD  'taskpri'
  1176. X        ADDCMD  'info'
  1177. X        ADDCMD  'pri'
  1178. X        ADDCMD  'flush'
  1179. X        ADDCMD  'freeze'
  1180. X        ADDCMD  'warm'
  1181. X        ADDCMD  'signal'
  1182. X        ADDCMD  'break'
  1183. X        ADDCMD  'alert'
  1184. X        ADDCMD  'lastalert'
  1185. X        ADDCMD  'hold'
  1186. X        ADDCMD  'exit'
  1187. X        ADDCMD  'clear'
  1188. X        ADDCMD  'cancel'
  1189. X        ADDCMD  'taskports'
  1190. X        ADDCMD  'hunks'
  1191. X        ADDCMD  'devices'
  1192. X        ADDCMD  'openlib'
  1193. X        ADDCMD  'closelib'
  1194. X        ADDCMD  'currentdir'
  1195. X        ADDCMD  'cd'
  1196. X        ADDCMD  'mypri'
  1197. X        ADDCMD  'files'
  1198. X        ADDCMD  'locks'
  1199. X        ADDCMD  'unlock'
  1200. X        ADDCMD  'screens'
  1201. X        ADDCMD  'windows'
  1202. X        ADDCMD  'closescreen'
  1203. X        ADDCMD  'closewindow'
  1204. X        ADDCMD  'fonts'
  1205. X        ADDCMD  'windowfonts'
  1206. X        ADDCMD  'lockdrive'
  1207. X        ADDCMD  'freedrive'
  1208. X        ADDCMD  'capture'
  1209. X        ADDCMD  'clrcold'
  1210. X        ADDCMD  'clrcool'
  1211. X        ADDCMD  'clrwarm'
  1212. X        ADDCMD  'snoop'
  1213. X        ADDCMD  'usage'
  1214. X        ADDCMD  'inputhandler'
  1215. X        ADDCMD  'header'
  1216. X        ADDCMD  'sort'
  1217. X        ADDCMD  'hide'
  1218. X        ADDCMD  'hidden'
  1219. X        ADDCMD  'window'
  1220. X        ADDCMD  'kill'
  1221. X        ADDCMD  'iconifyoff'
  1222. X        ADDCMD  'historylines'
  1223. X        ADDCMD  'minimumchars'
  1224. X        ADDCMD  'showhistory'
  1225. X        ADDCMD  'repeat'
  1226. X        ADDCMD  'remresident'
  1227. X        ADDCMD  'saveoutput'
  1228. X        ADDCMD  'killhistory'
  1229. X        ADDCMD  'backdropicon'
  1230. X        ADDCMD  'setfont'
  1231. X        ADDCMD  'trapguru'
  1232. X        ADDCMD  'outputlines'
  1233. X        ADDCMD  'usescreen'
  1234. X        ADDCMD  'usewindow'
  1235. X        ADDCMD  'timerio'
  1236. X        ADDCMD  'diskchange'
  1237. X        ADDCMD  'alias'
  1238. X        ADDCMD  'remnode'
  1239. X        ADDCMD  'setfkey'
  1240. X        ADDCMD  'clicmd'
  1241. Xhexarea     dc.b    '         ',0
  1242. Xhextab        dc.b    '0123456789abcdef'
  1243. Xinfoh2        dc.b    'Dispat/Sec:',0
  1244. Xinfoh1        dc.b    'CPU:',0
  1245. Xinfoh3        dc.b    'CPU activity: ',0
  1246. Xinfoh6        dc.b    'Total:',0
  1247. Xinfoh4        dc.b    '% ',0
  1248. Xinfoh7        dc.b    'I/O Ints/Sec: ',0
  1249. Xcpu0        dc.b    '68000',0
  1250. Xcpu1        dc.b    '68010',0
  1251. Xcpu2        dc.b    '68020',0
  1252. Xcpu3        dc.b    '/68881',0
  1253. Xdevload     dc.b    'loaded   ',0
  1254. Xdevnload    dc.b    'unloaded ',0
  1255. Xinten        dc.b    'E ',0
  1256. Xintdis        dc.b    'D ',0
  1257. Xintserv     dc.b    'S ',0
  1258. Xinthand     dc.b    'H ',0
  1259. Xnotfile     dc.b    '--- ------- ------- ------- ',0
  1260. Xlongnix     dc.b    '-'
  1261. Xsmallnix    dc.b    '----'
  1262. Xnix        dc.b    '--- ',0
  1263. Xnoinfo        dc.b    'No Info on'
  1264. Xoneblank    dc.b    ' ',0
  1265. Xequal        dc.b    '=  ',0
  1266. Xopenbrak    dc.b    '[ ',0
  1267. Xclosebrak   dc.b    ' ]',0
  1268. Xnamerr        dc.b    'Unable to find ',0
  1269. Xfonterr     dc.b    "Can't open ",0
  1270. Xadrerr        dc.b    'Address Error!',0
  1271. Xaliaserr    dc.b    'Single character alias names using "',0
  1272. Xaliaserr2   dc.b    '"',10,'are not allowed.',0
  1273. Xnoworkbench dc.b    "Workbench isn't active !",0
  1274. Xopenerr     dc.b    'Could not open file ',0
  1275. Xnoderr        dc.b    "Can't find this Node. Continue anyway ? (Y/N)",0
  1276. Xlisterr     dc.b    'Unable to find ListHeader. Sort aborted.',0
  1277. Xwiwerr        dc.b    'Script file only',0
  1278. Xgurutxt     dc.b    'Guru Meditation #',0
  1279. Xclrtxt        dc.b    'Memory Hunks cleared.',0
  1280. Xcanerr0     dc.b    'Process is not a CLI-task',10
  1281. X        dc.b    'Has it been started from Workbench ? (Y/N)',10,0
  1282. Xcanerr1     dc.b    'Process was created by CreateProc()',10
  1283. X        dc.b    'Shall I UnLoad() ? (Y/N)',10,0
  1284. Xunloaderr   dc.b    "Arrrgh.. can't find segments, aborting",0
  1285. Xnoprocs     dc.b    'Not a Process.',0
  1286. Xnotload     dc.b    'No program loaded.',0
  1287. Xcliprocs    dc.b    'Cli-Process',0
  1288. Xprocloaded  dc.b    'Loaded as a command: ',0
  1289. Xsegloaded   dc.b    'Created by CreateProc()',0
  1290. Xcoldtxt     dc.b    'Cold Capture: ',0
  1291. Xcooltxt     dc.b    'Cool Capture: ',0
  1292. Xwarmtxt     dc.b    'Warm Capture: ',0
  1293. Xkicktxt     dc.b    'KickMem     : ',0
  1294. Xunset        dc.b    'unset',0
  1295. Xintnames    dc.b    'Serial Out ',0
  1296. X        dc.b    'Disk Block ',0
  1297. X        dc.b    'SoftInt    ',0
  1298. X        dc.b    'Ports      ',0
  1299. X        dc.b    'Coper      ',0
  1300. X        dc.b    'Vert.Blank ',0
  1301. X        dc.b    'Blitter    ',0
  1302. X        dc.b    'Audio Ch.0 ',0
  1303. X        dc.b    'Audio Ch.1 ',0
  1304. X        dc.b    'Audio Ch.2 ',0
  1305. X        dc.b    'Audio Ch.3 ',0
  1306. X        dc.b    'Serial In  ',0
  1307. X        dc.b    'Disk Sync  ',0
  1308. X        dc.b    'External   ',0
  1309. X        dc.b    'SoftInt    ',0
  1310. X        dc.b    'NMI        ',0
  1311. Xinttyp        dc.b    0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1
  1312. Xfontname    dc.b    'topaz.font',0
  1313. Xdevicenam   dc.b    'input.device',0
  1314. Xtimernam    dc.b    'timer.device',0
  1315. Xmemlarg     dc.b    'LARGEST ',0
  1316. Xmemclr        dc.b    'CLEAR ',0
  1317. Xmemfast     dc.b    'FAST ',0
  1318. Xmemchip     dc.b    'CHIP ',0
  1319. Xmempubl     dc.b    'PUBLIC ',0
  1320. Xfailed        dc.b    'Failed !',0
  1321. Xallok        dc.b    'ALLOC: ',0
  1322. Xfree        dc.b    'FREE: ',0
  1323. Xbackg        dc.b    'Bckg ',0
  1324. Xforeg        dc.b    'Frgr ',0
  1325. Xscript        dc.b    'Batch ',0
  1326. Xinteract    dc.b    'Intct ',0
  1327. Xstartupname dc.b    'S:Xoper.Startup',0
  1328. Xnameerr     dc.b    'Name or address is missing.',10
  1329. Xsynerr        dc.b    'Syntax Error, type "?" for help',10,0
  1330. Xwberr        dc.b    "Can't examine Workbench locks",0
  1331. Xdnotf        dc.b    'Directory not found',0
  1332. Xnotdir        dc.b    'Not a directory',0
  1333. Xnomount     dc.b    ' not mounted.',0
  1334. Xdishelp     dc.b    10,'Names are case sensitive and followed by a ":"',0
  1335. Xunlerr        dc.b    'Lock not found',0
  1336. Xunl1        dc.b    'Lock is on ',0
  1337. Xunltxt        dc.b    'Old lock was: ',0
  1338. Xunltxt2     dc.b    'Unlock ? (Y/N)',10,0
  1339. Xscnofound   dc.b    'Screen not found.',0
  1340. Xwinnofound  dc.b    'Window not found.',0
  1341. Xstperr        dc.b    'Task must be "READY" or "WAITING"',10,0
  1342. Xwaerr        dc.b    'Task must be "FROZEN"',10,0
  1343. Xwhatsthis   dc.b    '???.?',0
  1344. Xtoomuch     dc.b    '??? ',0
  1345. Xtimenotset  dc.b    ' disabled.',0
  1346. Xwhattime    dc.b    'Refresh time in secs:',0
  1347. Xstoped        dc.b    '<Break>',0
  1348. Xonscr        dc.b    'On Screen: ',0
  1349. Xwhatnow     dc.b    'Kill, ignore (K/I)?',0
  1350. Xnoguru        dc.b    'None found.',0
  1351. Xsoftfail    dc.b    'Software failure!',10,'Task: ',0
  1352. Xaddrserr    dc.b    'Bad aligned address was: ',0
  1353. Xprocount    dc.b    'PC: ',0
  1354. Xdiskfont    dc.b    'diskfont.library',0
  1355. Xusetxt        dc.b    'USAGE: Xoper [T] [F] [L] [D] [R] [E] [M] [P] [I] [S] [C]',10
  1356. X        dc.b    'OR     Xoper -b',10
  1357. X        dc.b    'DISPLAY:',10
  1358. X        dc.b    '[T]asks    [F]=taskflags [L]ibraries [D]evices    [R]esources',10
  1359. X        dc.b    'r[E]sident [M]emory      [P]orts     [I]nterrupts [S]tack',10
  1360. X        dc.b    '[C]litasks [Q]uit',10,10
  1361. X        dc.b    'OTHER SYSTEM LISTS:',10
  1362. X        dc.b    'Windows    Screens      Fonts       WindowFonts  CurrentDir',10
  1363. X        dc.b    'Files      Locks        Devices     InputHandler Capture',10
  1364. X        dc.b    'TimerIO    DiskChange',10,10
  1365. X        dc.b    'COMMANDS:',10
  1366. X        dc.b    'Time         <secs>',10
  1367. X        dc.b    'Taskpri      <priority>  [processnum] <taskname>',10
  1368. X        dc.b    'Mypri        <priority>',10
  1369. X        dc.b    'Signal       <mask(hex)> [processnum] <taskname>',10
  1370. X        dc.b    'Break        [processnum] <taskname>',10
  1371. X        dc.b    'Freeze|Warm  [processnum] <taskname>',10
  1372. X        dc.b    'Kill         [processnum] <taskname>',10
  1373. X        dc.b    'Snoop        [processnum] <taskname>',10
  1374. X        dc.b    'Hide         <taskname>',10
  1375. X        dc.b    'Pri          <priority> <nodename>',10
  1376. X        dc.b    'Info         <name>',10
  1377. X        dc.b    'RemResident  <resident module name>',10
  1378. X        dc.b    'Clear        <longword(hex)>',10
  1379. X        dc.b    'Hunks        [processnum] <procname>',10
  1380. X        dc.b    'CD           <directory> [processnum] <procname>',10
  1381. X        dc.b    'UnLock       <lock>',10
  1382. X        dc.b    'OpenLib    | Closelib <libraryname>',10
  1383. X        dc.b    'CloseWindow| Closescreen <title>',10
  1384. X        dc.b    'SetFont      [size] <fontname> <windowtitle>',10
  1385. X        dc.b    'LockDrive  | Freedrive   <drivename:>',10
  1386. X        dc.b    'Window       <leftedge topedge width height> (scriptfile only) ',10
  1387. X        dc.b    'OutputLines  <maximum # of lines>',10
  1388. X        dc.b    'HistoryLines <maximum # of lines>',10
  1389. X        dc.b    'MinimumChars <minimum # of characters>',10
  1390. X        dc.b    'SaveOutput   <filename>',10
  1391. X        dc.b    'Repeat       <Command line>',10
  1392. X        dc.b    'SetFKey      <number> <string>',10
  1393. X        dc.b    'Alias        [<aliasname> <commandname>]',10,10
  1394. X        dc.b    'COMMANDS WITHOUT PARAMETERS:',10
  1395. X        dc.b    'Flush      LastAlert    ClrCool     ClrCold      ClrWarm',10
  1396. X        dc.b    'TrapGuru',10,10
  1397. X        dc.b    'OPTIONS:',10
  1398. X        dc.b    'Sort       TaskPorts    Hidden      Usage        Header',10
  1399. X        dc.b    'IconifyOff BackDropIcon ShowHistory KillHistory  UseScreen',10
  1400. X        dc.b    'UseWindow  CLICmd',10
  1401. X        dc.b    'Hold       Exit'
  1402. Xnull        dc.b    0
  1403. X
  1404. X    IFD DEBUG
  1405. Xdosname     dc.b    'dos.library',0
  1406. Xintuiname   dc.b    'intuition.library',0
  1407. Xgfxname     dc.b    'graphics.library',0
  1408. Xconname     dc.b    'console.device',0
  1409. X        EVEN
  1410. X    ENDC
  1411. X
  1412. X        BSS     blabla
  1413. Xbuffer        ds.b    2200
  1414. Xout        ds.b    100
  1415. Xdummy        ds.b    80
  1416. Xin        ds.b    80
  1417. Xcputime     ds.b    1000
  1418. Xievent        ds.b    32
  1419. Xoutevent    ds.b    20
  1420. Xinputbuffer ds.b    88
  1421. Xrepeatbuffer ds.b   81
  1422. X
  1423. Xmypacket    BSS     standardpacket
  1424. X
  1425. XLN_SUCC     ds.l    1
  1426. XLN_PRED     ds.l    1
  1427. XLN_TYPE     ds.b    1
  1428. XLN_PRI        ds.b    1
  1429. XLN_NAME     ds.l    1
  1430. XMP_FLAGS    ds.b    1
  1431. XMP_SIGBIT   ds.b    1
  1432. XMP_SIGTASK  ds.l    1
  1433. XMN_SIZE     ds.w    1
  1434. XLH_HEAD     ds.l    1
  1435. XLH_TAIL     ds.l    1
  1436. XLH_TAILPRED ds.l    1
  1437. XLH_TYPE     ds.b    1
  1438. XLH_pad        ds.b    1
  1439. Xdp_Link     ds.l    1
  1440. Xdp_Port     ds.l    1
  1441. Xdp_Type     ds.l    1
  1442. Xdp_Res1     ds.l    1
  1443. Xdp_Res2     ds.l    1
  1444. Xdp_Arg1     ds.l    1
  1445. Xdp_Arg2     ds.l    1
  1446. Xdp_Arg3     ds.l    1
  1447. Xdp_Arg4     ds.l    1
  1448. Xdp_Arg5     ds.l    1
  1449. Xdp_Arg6     ds.l    1
  1450. Xdp_Arg7     ds.l    1
  1451. X
  1452. Xtimerio     ds.b    40
  1453. X
  1454. X        CODE ICONIFY,CHIP
  1455. X
  1456. Xiconify     lea     icnwindow,a0
  1457. X        CALL    OpenWindow,intuibase
  1458. X        move.l  d0,iconwindow
  1459. X
  1460. Xwaitforcall move.l  iconwindow,a0
  1461. X        move.l  $56(a0),a0              ;wn->UserPort
  1462. X
  1463. X        moveq   #0,d1
  1464. X        move    d1,d0
  1465. X        move.b  15(a0),d1               ;UserPort->SigBit
  1466. X        bset    d1,d0
  1467. X        move.l  d0,d6
  1468. X        or.l    mysignal,d0
  1469. X        or.l    trapsignal,d0
  1470. X        CALL    Wait,_SysBase
  1471. X        and.l   d0,d6
  1472. X        bne.s   fromwindow
  1473. X        move.l  mysignal,d1
  1474. X        and.l   d0,d1
  1475. X        bne     icondone
  1476. X        and.l   trapsignal,d0
  1477. X        beq.s   waitforcall
  1478. X        move.b  #1,gotguru
  1479. X        bra.s   icondone
  1480. X
  1481. Xfromwindow  move.l  iconwindow,a0
  1482. X        move.l  $56(a0),a0              ;wn->UserPort
  1483. X        CALL    GetMsg,_SysBase
  1484. X        tst.l   d0
  1485. X        beq.s   waitforcall
  1486. X        move.l  d0,a1
  1487. X        CALL    ReplyMsg,_SysBase
  1488. X
  1489. X        move.l  iconwindow(PC),a0
  1490. X        move.l  4(a0),d5
  1491. X        cmp.l   icnwindow(PC),d5
  1492. X        bne.s   1$
  1493. X        lea     nsecs(PC),a0
  1494. X        lea     nmics(PC),a1
  1495. X        CALL    CurrentTime,intuibase
  1496. X        movem.l osecs,d0-d3
  1497. X        CALL    DoubleClick,intuibase
  1498. X        tst.l   d0
  1499. X        bne.s   icondone
  1500. X        move.l  nsecs(PC),osecs
  1501. X        move.l  nmics(PC),omics
  1502. X1$        move.l  d5,icnwindow
  1503. X        bra     waitforcall
  1504. X
  1505. Xicondone    move.l  iconwindow,a0
  1506. X        move.l  4(a0),icnwindow         ;LeftEdge+TopEdge
  1507. X        CALL    CloseWindow,intuibase
  1508. X        rts
  1509. X
  1510. Xosecs        dc.l    0
  1511. Xomics        dc.l    0
  1512. Xnsecs        dc.l    0
  1513. Xnmics        dc.l    0
  1514. X
  1515. Xiconwindow  dc.l    0
  1516. Xicnwindow   dc.w    40,170,72,28
  1517. X        dc.b    0,1
  1518. X        dc.l    $20,$800
  1519. X        dc.l    gadget,0,0,0,0
  1520. X        dc.w    72,28,72,28
  1521. X        dc.w    1
  1522. X
  1523. Xgadget        dc.l    0
  1524. X        dc.w    0,0,72,28,4,2,$20
  1525. X        dc.l    image
  1526. X        dc.l    0,0,0,0
  1527. X        dc.w    0
  1528. X        dc.l    0
  1529. X
  1530. Ximage        dc.w    0,0,72,28,2
  1531. X        dc.l    imagedata
  1532. X        dc.b    3,0
  1533. X        dc.l    0
  1534. X
  1535. Ximagedata   dc.w    $000F,$FFFF,$FFFF,$FFF8,$0000,$001F,$FFFF,$FFFF
  1536. X        dc.w    $FFFC,$0000,$001F,$0000,$0000,$007C,$0000,$001F
  1537. X        dc.w    $7FFF,$FFFF,$FF7C,$0000,$001F,$4A46,$0244,$557C
  1538. X        dc.w    $0000,$001F,$5108,$D411,$817C,$0000,$001F,$7FFF
  1539. X        dc.w    $FFFF,$FF7C,$0000,$001F,$0000,$0000,$007C,$0000
  1540. X        dc.w    $001F,$30C0,$0000,$007C,$0000,$001F,$1980,$0000
  1541. X        dc.w    $007C,$0000,$001F,$0F0F,$1F0F,$1F7C,$0000,$001F
  1542. X        dc.w    $0619,$9999,$997C,$0000,$001F,$0F19,$999F,$987C
  1543. X        dc.w    $0000,$001F,$1999,$9F18,$187C,$0000,$001F,$30CF
  1544. X        dc.w    $180F,$187C,$0000,$001F,$0000,$1800,$007C,$0000
  1545. X        dc.w    $001F,$0000,$0000,$007C,$0000,$001F,$FFFF,$FFFF
  1546. X        dc.w    $FFFC,$0000,$000F,$FFFF,$FFFF,$FF18,$0000,$0000
  1547. X        dc.w    $0000,$0000,$0000,$0000,$3FFF,$FFFF,$FFFF,$FFFF
  1548. X        dc.w    $FC00,$FDFF,$FFFF,$FFFF,$FFFF,$FF00,$EBFF,$FFFF
  1549. X        dc.w    $FFFF,$FFFF,$FF00,$F7FF,$FFFF,$FFFF,$F800,$0700
  1550. X        dc.w    $FFFF,$FFFF,$FFFF,$FFFF,$FF00,$FFFF,$FFFF,$FFFF
  1551. X        dc.w    $FFFF,$FF00,$FFFF,$FFFF,$FFFF,$FFFF,$FF00,$3FFF
  1552. X        dc.w    $FFFF,$FFFF,$FFFF,$FC00,$0000,$0000,$0000,$0000
  1553. X        dc.w    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$FFFF
  1554. X        dc.w    $FFFF,$FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000
  1555. X        dc.w    $0000,$FFFF,$FFFF,$FF80,$0000,$0000,$FFFF,$FFFF
  1556. X        dc.w    $FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000,$0000
  1557. X        dc.w    $FFFF,$FFFF,$FF80,$0000,$0000,$8000,$0000,$0080
  1558. X        dc.w    $0000,$0000,$8000,$0000,$0080,$0000,$0000,$8000
  1559. X        dc.w    $0000,$0080,$0000,$0000,$8000,$0000,$0080,$0000
  1560. X        dc.w    $0000,$8000,$0000,$0080,$0000,$0000,$8000,$0000
  1561. X        dc.w    $0080,$0000,$0000,$8000,$0000,$0080,$0000,$0000
  1562. X        dc.w    $8000,$0000,$0080,$0000,$0000,$FFFF,$FFFF,$FF80
  1563. X        dc.w    $0000,$0000,$0000,$0000,$00E0,$0000,$0000,$0000
  1564. X        dc.w    $0000,$00E0,$0000,$0000,$1FFF,$FFFF,$F800,$0000
  1565. X        dc.w    $0000,$0080,$0040,$0000,$0000,$0200,$0080,$0040
  1566. X        dc.w    $0000,$0000,$1400,$0080,$0040,$003F,$0000,$0800
  1567. X        dc.w    $0080,$0040,$07FF,$F800,$0000,$0080,$0040,$003F
  1568. X        dc.w    $0000,$0000,$0080,$0040,$0000,$3800,$FFFF,$FFFF
  1569. X        dc.w    $FFFF,$FFFF,$FE00,$0000,$0080,$0040,$0000,$0000
  1570. X
  1571. Xiconifgad   dc.l    0
  1572. X        dc.w    -83,0
  1573. X        dc.w    31,10
  1574. X        dc.w    $14
  1575. X        dc.w    $41
  1576. X        dc.w    1
  1577. X        dc.l    iconifimg
  1578. X        dc.l    0
  1579. X        dc.l    0
  1580. X        dc.l    0
  1581. X        dc.l    0
  1582. X        dc.w    0
  1583. X        dc.l    0
  1584. X
  1585. Xiconifimg   dc.w    0,0
  1586. X        dc.w    31,10
  1587. X        dc.w    2
  1588. X        dc.l    iconifdata
  1589. X        dc.b    $0003,$0000
  1590. X        dc.l    0
  1591. X
  1592. Xiconifdata  dc.w    $7FFF,$FFFC,$601F,$FFFC,$6000,$000C,$607F,$FFCC
  1593. X        dc.w    $6060,$00CC,$6067,$FCCC,$7E60,$00CC,$7E7F,$FFCC
  1594. X        dc.w    $7E00,$000C,$7FFF,$FFFC,$0000,$0000,$1FE0,$0000
  1595. X        dc.w    $1FFF,$FFF0,$1F80,$0030,$1F9F,$FF30,$1F98,$0330
  1596. X        dc.w    $019F,$FF30,$0180,$0030,$01FF,$FFF0,$0000,$0000
  1597. X
  1598. X
  1599. X        END
  1600. X
  1601. END_OF_FILE
  1602. if test 40356 -ne `wc -c <'Xoper.a.ac'`; then
  1603.     echo shar: \"'Xoper.a.ac'\" unpacked with wrong size!
  1604. fi
  1605. # end of 'Xoper.a.ac'
  1606. fi
  1607. echo shar: End of archive 2 \(of 4\).
  1608. cp /dev/null ark2isdone
  1609. MISSING=""
  1610. for I in 1 2 3 4 ; do
  1611.     if test ! -f ark${I}isdone ; then
  1612.     MISSING="${MISSING} ${I}"
  1613.     fi
  1614. done
  1615. if test "${MISSING}" = "" ; then
  1616.     echo You have unpacked all 4 archives.
  1617.     rm -f ark[1-9]isdone
  1618. else
  1619.     echo You still need to unpack the following archives:
  1620.     echo "        " ${MISSING}
  1621. fi
  1622. ##  End of shell archive.
  1623. exit 0
  1624. -- 
  1625. Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
  1626.     amiga@cs.odu.edu    
  1627. or    amiga@xanth.cs.odu.edu    ( obsolescent mailers may need this address )
  1628. or    ...!uunet!xanth!amiga    ( very obsolescent mailers need this address )
  1629.  
  1630. Comments, questions, and suggestions s should be addressed to ``amiga-request''
  1631. (only use ``amiga'' for submissions) at the above addresses.
  1632.